package top.jacktgq.hsp.netty.buf;

import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;

/**
 * @Author CandyWall
 * @Date 2020/11/12--18:46
 * @Description 测试使用ByteBuf
 */
public class NettyByteBuf01 {
    public static void main(String[] args) {
        //创建一个ByteBuf
        //说明：
        //1、ByteBuf对象包含一个数组arr，是一个byte[10]
        //2、在netty的buffer中，不需要使用flip进行反转
        //3、通过readerIndex、writerIndex和capacity，将Buffer分成三个区域
        // 0~readerIndex            ：已经读取的区域
        // readerIndex~writerIndex  ：可读的区域
        // writerIndex~capacity     ：可写的区域
        ByteBuf buffer = Unpooled.buffer(10);
        for (int i = 0; i < 5; i++) {
            buffer.writeByte(i);
        }
        System.out.println("capacity；" + buffer.capacity());
        /*for (int i = 0; i < buffer.capacity(); i++) {
            System.out.println(buffer.getByte(i));
        }*/
        for (int i = 0; i < buffer.writerIndex(); i++) {
            System.out.println(buffer.readByte());
        }
    }
}
